<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.20"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>The small3d library: vkzos.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="customdoxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo_s.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">The small3d library
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.20 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">vkzos.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="vkzos_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#ifndef VKZOS_H</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#define VKZOS_H</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160; </div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#ifdef __ANDROID__</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &lt;android_native_app_glue.h&gt;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &lt;android/asset_manager.h&gt;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#define VK_USE_PLATFORM_ANDROID_KHR</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="keyword">extern</span> <span class="keyword">struct </span>android_app *vkz_android_app;</div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifdef SMALL3D_IOS</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;MoltenVK/mvk_vulkan.h&gt;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;vulkan/vulkan.h&gt;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; <span class="keyword">extern</span> VkInstance <a class="code" href="vkzos_8h.html#ad0279a86c08897a13cc85b0c35b5a72e">vkz_instance</a>;</div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">extern</span> VkSurfaceKHR <a class="code" href="vkzos_8h.html#ae0d51c9f83acb388c4f9dbf357e74d07">vkz_surface</a>;</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> VkPhysicalDevice <a class="code" href="vkzos_8h.html#ae613ef4aa20d05a6c7a3246ceaeb8e5a">vkz_physical_device</a>;</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> VkDevice <a class="code" href="vkzos_8h.html#a81a8dd4066651194d34a73f25c9cc3b8">vkz_logical_device</a>;</div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; </div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> VkPipelineLayout* <a class="code" href="vkzos_8h.html#a497cab2d9e5c7ae0173b26e788efd051">vkz_pipeline_layout</a>;</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">extern</span> uint32_t <a class="code" href="vkzos_8h.html#ac48c41837c8f16590c36c8b2133f8acd">vkz_swapchain_image_count</a>;</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> VkClearColorValue <a class="code" href="vkzos_8h.html#a15aa36bf5aaa3c4e44b236c9eb98e634">vkz_clear_colour</a>;</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160; </div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#af6e9b9e46e4bddcd0b7076bfbbfbb815">vkz_create_instance</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* application_name,</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span>** enabled_extension_names,</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  <span class="keywordtype">size_t</span> enabled_extension_count);</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#a3d928e1d6442c9aec817f5562a86c905">vkz_init</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160; </div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#a0195411e2f1dc0e86ea9e288cece7dbb">vkz_set_width_height</a>(<span class="keyword">const</span> uint32_t width, <span class="keyword">const</span> uint32_t height);</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160; </div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#ae6b5b1afb79d82d63aad27004a1ec042">vkz_create_swapchain</a>(<span class="keywordtype">int</span> with_image_sampler);</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#ad7fdc47fa92ad88c0d7ba8f37dc6da31">vkz_destroy_swapchain</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; </div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#a8bc83914d1f7c03521b12629f0a99863">vkz_create_depth_image</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160; </div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#a47c84cdbe4649348893435572096578c">vkz_destroy_depth_image</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160; </div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#a784cb3ffcb643a79ad4f88ffc9a8a831">vkz_create_pipeline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* vertex_shader_path, <span class="keyword">const</span> <span class="keywordtype">char</span>* fragment_shader_path,</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  <span class="keywordtype">int</span> (*set_input_state)(VkPipelineVertexInputStateCreateInfo*),</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <span class="keywordtype">int</span> (*set_pipeline_layout)(VkPipelineLayoutCreateInfo*), uint32_t* index);</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160; </div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#adf0e37831055659987cce0d826d24ebb">vkz_begin_draw_command_buffer</a>(VkCommandBuffer* command_buffer);</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#a00cc3b9c1143cf9c6b94326267593646">vkz_bind_pipeline_to_command_buffer</a>(uint32_t pipeline_index,</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <span class="keyword">const</span> VkCommandBuffer* command_buffer);</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160; </div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#a088475389445522349c7fe98e97d4e40">vkz_end_draw_command_buffer</a>(VkCommandBuffer* command_buffer);</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160; </div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#a67e75c0f91918e52ec1b69904d68f231">vkz_destroy_draw_command_buffer</a>(VkCommandBuffer* command_buffer);</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160; </div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#a5d2de1d94e33394ca1c2fb6e7323e778">vkz_create_sync_objects</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160; </div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#a1ca1ef6f12a537273666f109e943a778">vkz_destroy_sync_objects</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160; </div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#a6d7d08f1be55837b8d6ac2a88eda3439">vkz_recreate_pipelines_and_swapchain</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160; </div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#a417e565d1c05d19a6f86eca740a65ddb">vkz_acquire_next_image</a>(uint32_t pipeline_index, uint32_t* image_index);</div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160; </div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#aec5ec5e0240c41e57a376e21f0138b7b">vkz_present_next_image</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160; </div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#aed81951fe299c55f95fbb1ae70fbdae0">vkz_draw</a>(VkCommandBuffer* command_buffer);</div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160; </div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#a09ae2537eb08cab47df5f5a1cce35ff1">vkz_create_buffer</a>(VkBuffer* buffer,</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;  VkBufferUsageFlags buffer_usage_flags,</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;  uint32_t buffer_size,</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;  VkDeviceMemory* memory,</div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;  VkMemoryPropertyFlags memory_property_flags);</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160; </div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#afea91a3686c4f42f8b66d0de599798fb">vkz_destroy_buffer</a>(VkBuffer buffer, VkDeviceMemory memory);</div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160; </div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#ab5b073d3829c17efe01c1c69553d0698">vkz_copy_buffer</a>(VkBuffer source, VkBuffer destination, VkDeviceSize size);</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160; </div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#ab1e37b3c8700ba58dad02bd4b62896d7">vkz_create_image</a>(VkImage* image,</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;  uint32_t image_width, uint32_t image_height,</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;  VkFormat image_format, VkImageTiling image_tiling,</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;  VkImageUsageFlags image_usage_flags,</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;  VkDeviceMemory* memory,</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;  VkMemoryPropertyFlags memory_property_flags);</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160; </div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#abb33a657b0e89ffb7a850c8549754a7a">vkz_destroy_image</a>(VkImage image, VkDeviceMemory image_memory);</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160; </div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#adfdbfeac6539ac92107a3f6c1c150623">vkz_transition_image_layout</a>(VkImage image, VkFormat format,</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;  VkImageLayout old_layout,</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;  VkImageLayout new_layout);</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160; </div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#aecab3e345334428d706db7d580f21a41">vkz_copy_buffer_to_image</a>(VkBuffer buffer, VkImage image,</div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;  uint32_t width, uint32_t height);</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160; </div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#a301aaab89cb6be938c1ed8f5e65eef59">vkz_create_image_view</a>(VkImageView* image_view, VkImage image,</div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;  VkFormat format, VkImageAspectFlags aspect_flags);</div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160; </div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#a2e904ed44828a62e2e250d7d8c69681c">vkz_create_sampler</a>(VkSampler* sampler);</div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160; </div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="keywordtype">int</span> <a class="code" href="vkzos_8h.html#a07a11b944ee16fd1f6b7288d81689570">vkz_shutdown</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160; </div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="preprocessor">#endif //VKZOS_H</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="avkzos_8h_html_a417e565d1c05d19a6f86eca740a65ddb"><div class="ttname"><a href="vkzos_8h.html#a417e565d1c05d19a6f86eca740a65ddb">vkz_acquire_next_image</a></div><div class="ttdeci">int vkz_acquire_next_image(uint32_t pipeline_index, uint32_t *image_index)</div><div class="ttdoc">Acquire next swapchain image.</div><div class="ttdef"><b>Definition:</b> vkzos.c:1598</div></div>
<div class="ttc" id="avkzos_8h_html_af6e9b9e46e4bddcd0b7076bfbbfbb815"><div class="ttname"><a href="vkzos_8h.html#af6e9b9e46e4bddcd0b7076bfbbfbb815">vkz_create_instance</a></div><div class="ttdeci">int vkz_create_instance(const char *application_name, const char **enabled_extension_names, size_t enabled_extension_count)</div><div class="ttdoc">Create a vulkan instance.</div><div class="ttdef"><b>Definition:</b> vkzos.c:152</div></div>
<div class="ttc" id="avkzos_8h_html_a784cb3ffcb643a79ad4f88ffc9a8a831"><div class="ttname"><a href="vkzos_8h.html#a784cb3ffcb643a79ad4f88ffc9a8a831">vkz_create_pipeline</a></div><div class="ttdeci">int vkz_create_pipeline(const char *vertex_shader_path, const char *fragment_shader_path, int(*set_input_state)(VkPipelineVertexInputStateCreateInfo *), int(*set_pipeline_layout)(VkPipelineLayoutCreateInfo *), uint32_t *index)</div><div class="ttdoc">Create a pipeline. This will also create associated Vulkan objects.</div><div class="ttdef"><b>Definition:</b> vkzos.c:1073</div></div>
<div class="ttc" id="avkzos_8h_html_a0195411e2f1dc0e86ea9e288cece7dbb"><div class="ttname"><a href="vkzos_8h.html#a0195411e2f1dc0e86ea9e288cece7dbb">vkz_set_width_height</a></div><div class="ttdeci">int vkz_set_width_height(const uint32_t width, const uint32_t height)</div><div class="ttdoc">Set width and height for all rendering calculations.</div><div class="ttdef"><b>Definition:</b> vkzos.c:893</div></div>
<div class="ttc" id="avkzos_8h_html_ab5b073d3829c17efe01c1c69553d0698"><div class="ttname"><a href="vkzos_8h.html#ab5b073d3829c17efe01c1c69553d0698">vkz_copy_buffer</a></div><div class="ttdeci">int vkz_copy_buffer(VkBuffer source, VkBuffer destination, VkDeviceSize size)</div><div class="ttdoc">Copy a buffer to another.</div><div class="ttdef"><b>Definition:</b> vkzos.c:1776</div></div>
<div class="ttc" id="avkzos_8h_html_a67e75c0f91918e52ec1b69904d68f231"><div class="ttname"><a href="vkzos_8h.html#a67e75c0f91918e52ec1b69904d68f231">vkz_destroy_draw_command_buffer</a></div><div class="ttdeci">int vkz_destroy_draw_command_buffer(VkCommandBuffer *command_buffer)</div><div class="ttdoc">Destroy a command buffer.</div><div class="ttdef"><b>Definition:</b> vkzos.c:1510</div></div>
<div class="ttc" id="avkzos_8h_html_a15aa36bf5aaa3c4e44b236c9eb98e634"><div class="ttname"><a href="vkzos_8h.html#a15aa36bf5aaa3c4e44b236c9eb98e634">vkz_clear_colour</a></div><div class="ttdeci">VkClearColorValue vkz_clear_colour</div><div class="ttdoc">The colour used to clear the screen.</div><div class="ttdef"><b>Definition:</b> vkzos.c:93</div></div>
<div class="ttc" id="avkzos_8h_html_a47c84cdbe4649348893435572096578c"><div class="ttname"><a href="vkzos_8h.html#a47c84cdbe4649348893435572096578c">vkz_destroy_depth_image</a></div><div class="ttdeci">int vkz_destroy_depth_image(void)</div><div class="ttdoc">Destroy the image used for depth testing.</div><div class="ttdef"><b>Definition:</b> vkzos.c:679</div></div>
<div class="ttc" id="avkzos_8h_html_afea91a3686c4f42f8b66d0de599798fb"><div class="ttname"><a href="vkzos_8h.html#afea91a3686c4f42f8b66d0de599798fb">vkz_destroy_buffer</a></div><div class="ttdeci">int vkz_destroy_buffer(VkBuffer buffer, VkDeviceMemory memory)</div><div class="ttdoc">Destroy a buffer.</div><div class="ttdef"><b>Definition:</b> vkzos.c:1732</div></div>
<div class="ttc" id="avkzos_8h_html_a09ae2537eb08cab47df5f5a1cce35ff1"><div class="ttname"><a href="vkzos_8h.html#a09ae2537eb08cab47df5f5a1cce35ff1">vkz_create_buffer</a></div><div class="ttdeci">int vkz_create_buffer(VkBuffer *buffer, VkBufferUsageFlags buffer_usage_flags, uint32_t buffer_size, VkDeviceMemory *memory, VkMemoryPropertyFlags memory_property_flags)</div><div class="ttdoc">Create a buffer.</div><div class="ttdef"><b>Definition:</b> vkzos.c:1690</div></div>
<div class="ttc" id="avkzos_8h_html_a07a11b944ee16fd1f6b7288d81689570"><div class="ttname"><a href="vkzos_8h.html#a07a11b944ee16fd1f6b7288d81689570">vkz_shutdown</a></div><div class="ttdeci">int vkz_shutdown(void)</div><div class="ttdoc">Cleanup the memory, destroy any debug callbacks, as well as the logical device and the Vulkan instanc...</div><div class="ttdef"><b>Definition:</b> vkzos.c:1969</div></div>
<div class="ttc" id="avkzos_8h_html_adfdbfeac6539ac92107a3f6c1c150623"><div class="ttname"><a href="vkzos_8h.html#adfdbfeac6539ac92107a3f6c1c150623">vkz_transition_image_layout</a></div><div class="ttdeci">int vkz_transition_image_layout(VkImage image, VkFormat format, VkImageLayout old_layout, VkImageLayout new_layout)</div><div class="ttdoc">Transition the layout of a Vulkan image.</div><div class="ttdef"><b>Definition:</b> vkzos.c:1846</div></div>
<div class="ttc" id="avkzos_8h_html_aec5ec5e0240c41e57a376e21f0138b7b"><div class="ttname"><a href="vkzos_8h.html#aec5ec5e0240c41e57a376e21f0138b7b">vkz_present_next_image</a></div><div class="ttdeci">int vkz_present_next_image(void)</div><div class="ttdoc">Present next swapchain image (the one acquired by vkz_acquire_next_image())</div><div class="ttdef"><b>Definition:</b> vkzos.c:1620</div></div>
<div class="ttc" id="avkzos_8h_html_a088475389445522349c7fe98e97d4e40"><div class="ttname"><a href="vkzos_8h.html#a088475389445522349c7fe98e97d4e40">vkz_end_draw_command_buffer</a></div><div class="ttdeci">int vkz_end_draw_command_buffer(VkCommandBuffer *command_buffer)</div><div class="ttdoc">Finish recording a command buffer.</div><div class="ttdef"><b>Definition:</b> vkzos.c:1499</div></div>
<div class="ttc" id="avkzos_8h_html_aed81951fe299c55f95fbb1ae70fbdae0"><div class="ttname"><a href="vkzos_8h.html#aed81951fe299c55f95fbb1ae70fbdae0">vkz_draw</a></div><div class="ttdeci">int vkz_draw(VkCommandBuffer *command_buffer)</div><div class="ttdoc">Send draw commands (will take effect on the current pipeline image acquired by vkz_acquire_next_image...</div><div class="ttdef"><b>Definition:</b> vkzos.c:1646</div></div>
<div class="ttc" id="avkzos_8h_html_a1ca1ef6f12a537273666f109e943a778"><div class="ttname"><a href="vkzos_8h.html#a1ca1ef6f12a537273666f109e943a778">vkz_destroy_sync_objects</a></div><div class="ttdeci">int vkz_destroy_sync_objects(void)</div><div class="ttdoc">Destroy sync objects.</div><div class="ttdef"><b>Definition:</b> vkzos.c:1562</div></div>
<div class="ttc" id="avkzos_8h_html_a497cab2d9e5c7ae0173b26e788efd051"><div class="ttname"><a href="vkzos_8h.html#a497cab2d9e5c7ae0173b26e788efd051">vkz_pipeline_layout</a></div><div class="ttdeci">VkPipelineLayout * vkz_pipeline_layout</div><div class="ttdoc">The pipeline layouts, one for each pipeline created.</div><div class="ttdef"><b>Definition:</b> vkzos.c:134</div></div>
<div class="ttc" id="avkzos_8h_html_ae6b5b1afb79d82d63aad27004a1ec042"><div class="ttname"><a href="vkzos_8h.html#ae6b5b1afb79d82d63aad27004a1ec042">vkz_create_swapchain</a></div><div class="ttdeci">int vkz_create_swapchain(int with_image_sampler)</div><div class="ttdoc">Create the swapchain that will be used. This will also create the associated image views.</div><div class="ttdef"><b>Definition:</b> vkzos.c:899</div></div>
<div class="ttc" id="avkzos_8h_html_a81a8dd4066651194d34a73f25c9cc3b8"><div class="ttname"><a href="vkzos_8h.html#a81a8dd4066651194d34a73f25c9cc3b8">vkz_logical_device</a></div><div class="ttdeci">VkDevice vkz_logical_device</div><div class="ttdoc">The logical device that is created by vkz_init().</div><div class="ttdef"><b>Definition:</b> vkzos.c:92</div></div>
<div class="ttc" id="avkzos_8h_html_a3d928e1d6442c9aec817f5562a86c905"><div class="ttname"><a href="vkzos_8h.html#a3d928e1d6442c9aec817f5562a86c905">vkz_init</a></div><div class="ttdeci">int vkz_init(void)</div><div class="ttdoc">Initialise. Internally this means create physical device, select queue families and create logical de...</div><div class="ttdef"><b>Definition:</b> vkzos.c:686</div></div>
<div class="ttc" id="avkzos_8h_html_a301aaab89cb6be938c1ed8f5e65eef59"><div class="ttname"><a href="vkzos_8h.html#a301aaab89cb6be938c1ed8f5e65eef59">vkz_create_image_view</a></div><div class="ttdeci">int vkz_create_image_view(VkImageView *image_view, VkImage image, VkFormat format, VkImageAspectFlags aspect_flags)</div><div class="ttdoc">Create a Vulkan image view.</div><div class="ttdef"><b>Definition:</b> vkzos.c:723</div></div>
<div class="ttc" id="avkzos_8h_html_aecab3e345334428d706db7d580f21a41"><div class="ttname"><a href="vkzos_8h.html#aecab3e345334428d706db7d580f21a41">vkz_copy_buffer_to_image</a></div><div class="ttdeci">int vkz_copy_buffer_to_image(VkBuffer buffer, VkImage image, uint32_t width, uint32_t height)</div><div class="ttdoc">Copy a buffer to an image.</div><div class="ttdef"><b>Definition:</b> vkzos.c:1918</div></div>
<div class="ttc" id="avkzos_8h_html_a2e904ed44828a62e2e250d7d8c69681c"><div class="ttname"><a href="vkzos_8h.html#a2e904ed44828a62e2e250d7d8c69681c">vkz_create_sampler</a></div><div class="ttdeci">int vkz_create_sampler(VkSampler *sampler)</div><div class="ttdoc">Create a Vulkan sampler.</div><div class="ttdef"><b>Definition:</b> vkzos.c:1946</div></div>
<div class="ttc" id="avkzos_8h_html_a00cc3b9c1143cf9c6b94326267593646"><div class="ttname"><a href="vkzos_8h.html#a00cc3b9c1143cf9c6b94326267593646">vkz_bind_pipeline_to_command_buffer</a></div><div class="ttdeci">int vkz_bind_pipeline_to_command_buffer(uint32_t pipeline_index, const VkCommandBuffer *command_buffer)</div><div class="ttdoc">Bind a pipeline to a command buffer.</div><div class="ttdef"><b>Definition:</b> vkzos.c:1489</div></div>
<div class="ttc" id="avkzos_8h_html_abb33a657b0e89ffb7a850c8549754a7a"><div class="ttname"><a href="vkzos_8h.html#abb33a657b0e89ffb7a850c8549754a7a">vkz_destroy_image</a></div><div class="ttdeci">int vkz_destroy_image(VkImage image, VkDeviceMemory image_memory)</div><div class="ttdoc">Destroy a Vulkan image.</div><div class="ttdef"><b>Definition:</b> vkzos.c:1840</div></div>
<div class="ttc" id="avkzos_8h_html_ab1e37b3c8700ba58dad02bd4b62896d7"><div class="ttname"><a href="vkzos_8h.html#ab1e37b3c8700ba58dad02bd4b62896d7">vkz_create_image</a></div><div class="ttdeci">int vkz_create_image(VkImage *image, uint32_t image_width, uint32_t image_height, VkFormat image_format, VkImageTiling image_tiling, VkImageUsageFlags image_usage_flags, VkDeviceMemory *memory, VkMemoryPropertyFlags memory_property_flags)</div><div class="ttdoc">Create a Vulkan image.</div><div class="ttdef"><b>Definition:</b> vkzos.c:1790</div></div>
<div class="ttc" id="avkzos_8h_html_ac48c41837c8f16590c36c8b2133f8acd"><div class="ttname"><a href="vkzos_8h.html#ac48c41837c8f16590c36c8b2133f8acd">vkz_swapchain_image_count</a></div><div class="ttdeci">uint32_t vkz_swapchain_image_count</div><div class="ttdoc">Number of images in the swapchain, set by vkz_create_swapchain().</div><div class="ttdef"><b>Definition:</b> vkzos.c:109</div></div>
<div class="ttc" id="avkzos_8h_html_ad7fdc47fa92ad88c0d7ba8f37dc6da31"><div class="ttname"><a href="vkzos_8h.html#ad7fdc47fa92ad88c0d7ba8f37dc6da31">vkz_destroy_swapchain</a></div><div class="ttdeci">int vkz_destroy_swapchain(void)</div><div class="ttdoc">Destroy the swapchain.</div><div class="ttdef"><b>Definition:</b> vkzos.c:991</div></div>
<div class="ttc" id="avkzos_8h_html_a5d2de1d94e33394ca1c2fb6e7323e778"><div class="ttname"><a href="vkzos_8h.html#a5d2de1d94e33394ca1c2fb6e7323e778">vkz_create_sync_objects</a></div><div class="ttdeci">int vkz_create_sync_objects(void)</div><div class="ttdoc">Create sync objects.</div><div class="ttdef"><b>Definition:</b> vkzos.c:1524</div></div>
<div class="ttc" id="avkzos_8h_html_adf0e37831055659987cce0d826d24ebb"><div class="ttname"><a href="vkzos_8h.html#adf0e37831055659987cce0d826d24ebb">vkz_begin_draw_command_buffer</a></div><div class="ttdeci">int vkz_begin_draw_command_buffer(VkCommandBuffer *command_buffer)</div><div class="ttdoc">Begin creating a drawing command buffer.</div><div class="ttdef"><b>Definition:</b> vkzos.c:1431</div></div>
<div class="ttc" id="avkzos_8h_html_ad0279a86c08897a13cc85b0c35b5a72e"><div class="ttname"><a href="vkzos_8h.html#ad0279a86c08897a13cc85b0c35b5a72e">vkz_instance</a></div><div class="ttdeci">VkInstance vkz_instance</div><div class="ttdoc">The Vulkan instance.</div><div class="ttdef"><b>Definition:</b> vkzos.c:89</div></div>
<div class="ttc" id="avkzos_8h_html_ae0d51c9f83acb388c4f9dbf357e74d07"><div class="ttname"><a href="vkzos_8h.html#ae0d51c9f83acb388c4f9dbf357e74d07">vkz_surface</a></div><div class="ttdeci">VkSurfaceKHR vkz_surface</div><div class="ttdoc">The surface on which graphics will be presented.</div><div class="ttdef"><b>Definition:</b> vkzos.c:90</div></div>
<div class="ttc" id="avkzos_8h_html_ae613ef4aa20d05a6c7a3246ceaeb8e5a"><div class="ttname"><a href="vkzos_8h.html#ae613ef4aa20d05a6c7a3246ceaeb8e5a">vkz_physical_device</a></div><div class="ttdeci">VkPhysicalDevice vkz_physical_device</div><div class="ttdoc">The physical device that is selected vkz_init().</div><div class="ttdef"><b>Definition:</b> vkzos.c:91</div></div>
<div class="ttc" id="avkzos_8h_html_a6d7d08f1be55837b8d6ac2a88eda3439"><div class="ttname"><a href="vkzos_8h.html#a6d7d08f1be55837b8d6ac2a88eda3439">vkz_recreate_pipelines_and_swapchain</a></div><div class="ttdeci">int vkz_recreate_pipelines_and_swapchain(void)</div><div class="ttdoc">Recreate the swapchain and the pipelines.</div><div class="ttdef"><b>Definition:</b> vkzos.c:1582</div></div>
<div class="ttc" id="avkzos_8h_html_a8bc83914d1f7c03521b12629f0a99863"><div class="ttname"><a href="vkzos_8h.html#a8bc83914d1f7c03521b12629f0a99863">vkz_create_depth_image</a></div><div class="ttdeci">int vkz_create_depth_image(void)</div><div class="ttdoc">Create the image used for depth testing. This function must be called right after vkz_create_swapchai...</div><div class="ttdef"><b>Definition:</b> vkzos.c:636</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20
</small></address>
</body>
</html>
